From: Claudio Cambra Date: Thu, 28 Nov 2024 10:04:28 +0000 (+0800) Subject: Use QDomDocument content method returning ParseResult X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~2^2~173^2~8 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=b2a70435c852495b05b020e616d71607e71f9573;p=nextcloud-desktop.git Use QDomDocument content method returning ParseResult Signed-off-by: Claudio Cambra Use ParseResult returning QDomDocument setContent Signed-off-by: Claudio Cambra f parseresult Signed-off-by: Claudio Cambra --- diff --git a/src/gui/updater/updateinfo.cpp b/src/gui/updater/updateinfo.cpp index 55512374a..2bfb720fb 100644 --- a/src/gui/updater/updateinfo.cpp +++ b/src/gui/updater/updateinfo.cpp @@ -84,13 +84,11 @@ UpdateInfo UpdateInfo::parseElement(const QDomElement &element, bool *ok) UpdateInfo UpdateInfo::parseString(const QString &xml, bool *ok) { - QString errorMsg; - int errorLine = 0, errorCol = 0; QDomDocument doc; - if (!doc.setContent(xml, false, &errorMsg, &errorLine, &errorCol)) { - qCWarning(lcUpdater).noquote().nospace() << errorMsg << " at " << errorLine << "," << errorCol - << "\n" << xml.split("\n").value(errorLine-1) << "\n" - << QString(" ").repeated(errorCol - 1) << "^\n" + if (const auto result = doc.setContent(xml); !result) { + qCWarning(lcUpdater).noquote().nospace() << result.errorMessage << " at " << result.errorLine << "," << result.errorColumn + << "\n" << xml.split("\n").value(result.errorLine - 1) << "\n" + << QString(" ").repeated(result.errorColumn - 1) << "^\n" << "->" << xml << "<-"; if (ok) *ok = false; diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp index 78356f8c9..1cde1a2c1 100644 --- a/src/libsync/networkjobs.cpp +++ b/src/libsync/networkjobs.cpp @@ -663,12 +663,9 @@ bool PropfindJob::finished() if (http_result_code == 207) { // Parse DAV response auto domDocument = QDomDocument(); - auto errorMsg = QString(); - auto errorLine = -1; - auto errorColumn = -1; - if (!domDocument.setContent(reply(), true, &errorMsg, &errorLine, &errorColumn)) { - qCWarning(lcPropfindJob) << "XML parser error: " << errorMsg << errorLine << errorColumn; + if (const auto res = domDocument.setContent(reply(), QDomDocument::ParseOption::UseNamespaceProcessing); !res) { + qCWarning(lcPropfindJob) << "XML parser error: " << res.errorMessage << res.errorLine << res.errorColumn; emit finishedWithError(reply()); } else {